V2EX  ›  英汉词典
Enqueued related words: Structural Typing, Type Hinting

Duck Typing

定义 / Definition

鸭子类型:一种编程中的类型思想——对象的“类型”不看它的继承关系或声明,而看它能做什么(是否具有所需的方法/行为)。常用来概括为:“如果它走起来像鸭子、叫起来像鸭子,那它就是鸭子。”(也常见于 Python 等动态语言;在静态语言中也有类似的“结构化类型”理念。)

例句 / Examples

If it has a quack() method, we can use it—this is duck typing.
如果它有 quack() 方法,我们就能使用它——这就是鸭子类型。

The function accepts any object that implements read() and close(), relying on duck typing rather than a specific class hierarchy.
该函数接受任何实现了 read()close() 的对象,依赖的是鸭子类型而不是特定的类继承体系。

发音 / Pronunciation (IPA)

/ˈdʌk ˌtaɪpɪŋ/

词源 / Etymology

“Duck typing”源自英语俗语 “If it walks like a duck and quacks like a duck, it’s a duck.” 后被借用到计算机领域,用来描述一种以行为契合为核心的用法:只要对象提供需要的接口/方法,就把它当作“那种东西”来用,而不强调名义上的类型声明。

相关词 / Related Words

文学与著作中的用例 / Notable Works

  • Fluent Python(Luciano Ramalho)——讨论 Python 风格的接口与“鸭子类型”实践
  • Python Cookbook(David Beazley & Brian K. Jones)——以大量范例体现“只要能用就行”的对象协议思想
  • Learning Python(Mark Lutz)——讲解 Python 动态特性时常提及鸭子类型观念
  • Effective Python(Brett Slatkin)——在编写可复用代码与协议式接口时涉及相关思想
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   895 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 19:14 · PVG 03:14 · LAX 11:14 · JFK 14:14
♥ Do have faith in what you're doing.